package com.example.lte.service;

import com.example.lte.entity.RoleEntity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

public interface IRoleService {

    List<RoleEntity> getRoleEnum();

    RoleEntity findById(Long id);
    /**
     * 分页查询角色
     *
     * @param roleEntity
     * @param pageable
     * @return
     */
    Page<RoleEntity> findByCondition(RoleEntity roleEntity, Pageable pageable);

    /**
     * 获取用户关联的角色，（用户表格展开行显示角色时使用）
     *
     * @param userId Long
     * @return List<RoleEntity>
     */
    List<RoleEntity> getRelRoleByUserId(Long userId);

    /**
     * 统计用户挂的角色数
     *
     * @param userId 用户id
     * @return int
     */
    int countRoleUserByUserId(Long userId);


    void delByUserIds(Long[] userIds);





    void saveOneRole(RoleEntity roleEntity);

    void updateOneRole(RoleEntity roleEntity);

    /**
     * 用户添加角色关系
     *
     * @param roleIds Long[]
     * @param userId  Long
     */
    void addRelRoleIds(Long[] roleIds, Long userId);
}
